package org.jiucai.cas.auth.service;

import org.jiucai.cas.domain.AuthQuery;
import org.jiucai.cas.domain.UserInfo;
/**
 * 权限认证服务
 * @author zhaidw
 *
 */
public interface AuthService {

	/**
	 * 检查用户在用户库中是否存在
	 * @param query
	 * @return 存在返回 true， 不存在返回 false
	 */
	public Boolean checkUser(AuthQuery query);

	/**
	 * 在用户库中查询用户信息
	 * @param query 查询参数
	 * @return
	 */
	public UserInfo getUserInfo(AuthQuery query);

	/**
	 * 在用户库中查询用户信息
	 * @param query 查询参数
	 * @return
	 */
	public UserInfo getUserInfo(UserInfo query);

	/**
	 * 通过URL进行登录认证
	 * @param uid 用户Id，即 userId
	 * @param ts 时间戳
	 * @param key 认证动态密钥
	 * @return 认证通过返回 null， 不通过返回 错误消息
	 */
	public String checkKey(Long uid, Long ts, String key);
}
